Layered SIM card and security function

ABSTRACT

A smart card and a smart card and security function system for a mobile terminal for a wireless telecommunications system. The smart card includes a software services component in which software is organized in at least one functional software unit and in a plurality of software layers arranged in order from software layers providing higher level services to software layers providing lower level services, and at least one software module in each software layer. The smart card further includes means for providing access to information and services provided by the smart card.

[0001] This application claims the benefit of copending U.S. Provisional Patent Application Serial No. 60/357,291 filed on Feb. 15, 2002, U.S. Provisional Patent Application Serial No. 60/412,756 filed on Sep. 23, 2002, and U.S. Provisional Patent application Serial No. 60/412,763 filed on Sep. 23, 2002.

BACKGROUND OF THE INVENTION

[0002] 1. Technical Field of the Invention

[0003] The present invention relates generally to the field of wireless telecommunications; and, more particularly, to a smart card and a smart card and security function system for a mobile terminal for a wireless telecommunications system.

[0004] 2. Description of Related Art

[0005] Smart cards are the main secure carriers of private/secret (key) information to authorize electronic access and/or transactions via a mobile terminal of a cellular telecommunications system. In current cellular telecommunications systems, smart cards such as SIM (Subscriber Identity Module) cards and WIM (WAP Identity Module) cards, or combined SIM/WIM cards, are used to securely store user credentials (and keys) to identify the user and to bind the user to a specific transaction, e.g., an electronic purchase. These smart cards comprise so-called ICCs (Integrated Circuit Cards) that are programmed for a specific service/use. Through standardized interfaces (both electrical and logical), a mobile terminal can access information and services provided by the smart card and provide the desired security functions.

[0006] Current mobile terminals have only a limited capability to support secure electronic payment services and other secure transactions via a wireless connection; and, in general, smart cards have been used only as carriers of private/secret information and associated services (e.g., electronic signing of data with a private/secret key on the card).

[0007] In the future, a mobile terminal will have to handle different smart cards. The lowest level for accessing the information on a smart card can be the mechanical elements that make electrical contact between the mobile terminal and the smart card, or a system that makes a wireless radio or optical (e.g., infrared) contact. By adhering to an API (Application Interface) standard (such as the standard specified in the WIM specifications), mobile terminal software developers can build the driver software through which the security functions in the mobile terminal can gain access to the smart card. Unfortunately, there does not exist one API standard, and this leads to multiple implementations of the software to use the card capabilities. This, in turn, increases the cost of code storage and code development.

[0008] Furthermore, due to increased demands for security in mobile terminals, there is and will continue to be a need to handle private/secret data in the mobile terminal. In principle, it is possible to turn the main processing circuit in the mobile terminal into a tamper resistant device such as a smart card. This is not an attractive option, however, as the increased security requirements would effect the design and the production process of the complete ASIC of the main processing circuit (for example, the need for special shielding, tamper detection mechanisms, redesign of signal flow to reduce signal leakage, and the like).

[0009] In general, the expected wider use of the capabilities of smart cards requires an efficient system design (software architecture) that allows efficient software development in a mobile terminal in which storage resources are limited and which contribute significantly to the overall cost of the mobile terminal.

SUMMARY OF THE INVENTION

[0010] The present invention provides a smart card and a smart card and security function system for a mobile terminal for a wireless telecommunications system that permits an efficient software design in the mobile terminal with a resultant reduction in overall development costs.

[0011] A smart card for a mobile terminal for a wireless telecommunications system according to the present invention includes a software services component in which software is organized in at least one functional software unit and in a plurality of software layers arranged in order from software layers providing higher level services to software layers providing lower level services, and at least one software module in each software layer. The smart card further includes means for providing access to information and services provided by the smart card.

[0012] It has been discovered that by providing a layered, modular software architecture to implement the functionality on a smart card, more efficient software development in mobile terminals is provided that permits a reduction in overall development costs and facilitates the introduction of enhancements to the mobile terminal.

[0013] The software architecture according to exemplary embodiments of the present invention differs from the standard ISO/OSI (ISO Open Systems Interconnection) model in that it includes a plurality of horizontally partitioned functional software units that complement a plurality of vertically partitioned software layers. The horizontal partitioning contributes significantly to the creation of independent modular (service) components.

[0014] According to exemplary embodiments of the present invention, the smart card may include payment server applications that utilize software of the software services component of the smart card, or the smart card may have no payment server applications and be controlled directly by the mobile terminal. According to further exemplary embodiments of the invention, the smart card may be removably mounted in a mobile terminal or built-in to the mobile terminal.

[0015] Further advantages and specific details of the present invention will become apparent hereinafter from the detailed description given below in conjunction with the following drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0016]FIG. 1 is a block diagram that schematically illustrates a smart card for a mobile terminal for a wireless telecommunications system according to an exemplary embodiment of the present invention;

[0017]FIG. 2 is a block diagram that schematically illustrates a layered modular smart card and security function system for a mobile terminal for a wireless telecommunications system according to another exemplary embodiment of the present invention;

[0018]FIG. 3 is a block diagram that schematically illustrates a layered modular smart card and security function system for a mobile terminal for a wireless telecommunications system according to another exemplary embodiment of the present invention;

[0019]FIG. 4 is a block diagram that schematically illustrates a smart card for a mobile terminal for a wireless telecommunications system according to another exemplary embodiment of the present invention; and

[0020]FIG. 5 is a flow chart that illustrates steps of a method for providing a security function for a mobile terminal for a wireless telecommunications system according to another exemplary embodiment of the present invention.

DETAILED DESCRIPTION OF THE EXEMPLARY EMBODIMENTS OF THE INVENTION

[0021]FIG. 1 is a block diagram that schematically illustrates a smart card for a mobile terminal for a wireless telecommunications system such as a cellular telecommunications system according to an exemplary embodiment of the present invention. The smart card, which may, for example, comprise a SIM card, a WIM card or a combined SIM/WIM card, is generally designated by reference number 10, and comprises one or more payment services 12 (referred to as payment server applications), an interface component 14, a software services component 16 used by the payment server applications and a hardware component 18.

[0022] In the exemplary embodiment illustrated in FIG. 1, three payment server applications are provided, an electronic payment plug-in server application 20, an electronic payment Java server application 22 and an electronic payment native server application 24. These payment server applications are implemented using different execution environments. In current smart cards, only one execution environment may exist on a single smart card (e.g., on a so-called Java card ICC); however, it is anticipated that future smart cards will provide the possibility of supporting different environments. It should be understood, accordingly, that the present invention is intended to cover smart cards having one or more execution environments for implementing one or more payment server applications.

[0023] Software services component 16 comprises a plurality of well-structured functional software units for providing services to the payment server applications 12 via the interface component 14. In the illustrated embodiment of FIG. 1, the plurality of functional software units comprise a plurality of vertically oriented functional software stacks including communications services stack 30, security services stack 32 and basic services stack 34.

[0024] The interface component 14 preferably comprises a middleware services layer that includes one or more application interfaces (APIs) for one or more payment server applications. The middleware services layer also functions to isolate the software services component 16 of the smart card from the payment server applications 12 except via the one or more interfaces. Accordingly, with the smart card of the present invention, the middleware services layer provides a separation between the server application software and the software of the software services component. As a result, the server application software and the software of the software services component can be developed separately.

[0025] As shown in FIG. 1, the software of the software services component 16, in addition to being organized into a plurality of vertical, functional software stacks 30, 32 and 34 as described above, is also arranged to define, together with the server application software, a plurality of horizontal layers arranged in a descending order from a higher level service layer to a lower level service layer.

[0026] The highest level layer (the top layer) of the layered architecture comprises the one or more payment server applications 12, and the remaining layers comprise the software layers of the software services component. The software of the software services component is organized into a plurality of software modules, e.g., modules 40 and 42. In software services component 16, a single module can reside in only one functional stack and in only one horizontal layer within that stack. Each layer can contain from one to many modules and all the modules in a particular layer and in a particular functional stack have the same level of abstraction. Communication among the various modules is accomplished via a Software Back Plane (SwBP), such as schematically illustrated at 46, subject to a set of basic rules for module-to-module access. These rules can be summarized as follows:

[0027] A software module may invoke functionality in all layer interfaces below its own layer.

[0028] There are no limitations for the direction of channel events or data streams. They may go in any direction.

[0029] A software module may never invoke functionality in layer interfaces (in the SwBP) above its own layer, independent of to which module the layers belong.

[0030] A software module may invoke functionality in the layer interface in its own layer in the same vertical stack.

[0031] A software module may invoke functionality in a software module in the same layer in another vertical stack. (This capability is permitted to limit the number of layers in the vertical stacks, and is preferably kept to a minimum.)

[0032] There is no hard coupling between the various modules and the interfaces in the SwBP. As a result, modules can be added, removed or changed without affecting other modules in the smart card.

[0033] In the exemplary embodiment of FIG. 1 the communications services stack 30 includes modules for providing communication services, a smart card protocol engine, logical drivers and physical device drivers. The security services stack 32 includes modules for providing security functions including certificate services, cryptographic services, public-key cryptographic services and symmetric key cryptographic services; as well as modules for providing logical drivers and physical device drivers (as schematically illustrated in FIG. 1, communication between the logical drivers modules and the physical drivers modules in the communication services stack and the security services stack is permitted notwithstanding that they are in different stacks in order to reduce the overall number of modules that are required in the smart card).

[0034] The basic services functional stack 34 includes modules for providing a smart card command engine, access control, operating system services, and bootstrap services.

[0035] The hardware component 18 comprises a plurality of hardware units including various 10 hardware units, a cryptographic hardware unit and hardware units relating to memory and memory management, various timers, clocks and sensors.

[0036] It should be understood that the exemplary smart card shown in FIG. 1 illustrates a realization supporting not only the traditional use of smart cards, but also the use of smart card functionality in a mobile terminal as a built-in (non-removable) component.

[0037]FIG. 2 is a block diagram that schematically illustrates a layered modular smart card and security function system for a mobile terminal for a wireless telecommunications system according to another exemplary embodiment of the present invention. In the exemplary embodiment of FIG. 2, the mobile terminal is generally designated by reference number 50, and includes a plurality of smart cards including removable smart cards 52 and 54, and a built-in smart card 56. The mobile terminal 50 in FIG. 2 includes a platform system that comprises electronic payment application software 60, and a mobile terminal platform assembly 62 that includes a middleware services layer 64 and a software services component 66. As shown, software services component 66 is also provided with a layered, modular functional architecture, and specific details of the platform system and the layered architecture are described in commonly assigned copending U.S. Patent Application Serial Nos. [Attorney Docket 53807-00045USPT and Attorney Docket 53807-00023USPT], the disclosures of which are incorporated herein by reference.

[0038] In general, it should be appreciated that the software architecture of a smart card according to exemplary embodiments of the present invention is similar to and complements the software architecture described in the above-referenced copending applications in that both are organized into vertically oriented functional software stacks and horizontal software layers.

[0039] In FIG. 2, only the relevant parts, being the security services stack and the basic services stack, are illustrated. The shaded boxes in FIG. 2 illustrate software modules that relate to the smart card or the provided smart card services.

[0040]FIG. 3 is a block diagram that schematically illustrates a layered modular smart card and security function system for a mobile terminal 80 for a wireless telecommunications system according to another exemplary embodiment of the present invention. The system of FIG. 3 extends the smart card and security function system of FIG. 2 with the capability of directly addressing the smart card command engine module (identified by reference number 82 in FIG. 3). The embodiment of FIG. 3 thus realizes a straightforward method for the mobile terminal to utilize the cryptographic hardware of a smart card, for example, the built-in smart card 84. FIG. 3 also illustrates the advantage of the layered, modular functional approach as it suffices to add only one module to extend the generic cryptographic services module 86 of the software services component 88 of the mobile terminal 80.

[0041]FIG. 4 is a block diagram that schematically illustrates a smart card for a mobile terminal for a wireless telecommunications system according to another exemplary embodiment of the present invention. FIG. 4 illustrates a smart card 100 that has no payment server applications, but is controlled directly by the mobile terminal. As shown, because the smart card has no payment server applications, the smart card also does not require the middleware services layer, and comprises only the software services component 16 and the hardware component 18. As in the embodiment of FIG. 1, the smart card may be built-in or removable from the mobile terminal.

[0042]FIG. 5 is a flow chart that illustrates steps of a method for providing a security function for a mobile terminal for a wireless telecommunications system according to another exemplary embodiment of the present invention. The method is generally designated by reference number 120 and includes the steps of providing a smart card that has security function software (step 122), and providing a mobile terminal that has security function software (step 124). The smart card security function software is organized in at least one functional software unit and in a plurality of software layers arranged in order from software layers providing higher level services to software layers providing lower level services, and at least one software module in each software layer. The method further includes the step of the mobile terminal accessing and using information and services provided by the smart card to provide a desired security function for the mobile terminal (step 126). As mentioned previously, the smart card can be built-in to the mobile terminal or may be a separate component adapted to be removably mounted in the mobile terminal.

[0043] In general, the present invention provides a smart card for a mobile terminal for a wireless telecommunications system that provides for a reduction in software development costs for the mobile terminal, not only during initial design and testing but also during the design and introduction of upgrades or other enhancements, i.e., the ability to support additional smart cards or additional functionality.

[0044] While what has been described constitutes exemplary embodiments of the present invention, it should be recognized that the invention can be varied in many ways without departing therefrom. Because the invention can be varied in numerous ways, it should be understood that the invention should be limited only insofar as is required by the scope of the following claims. 

We claim:
 1. A smart card for a mobile terminal for a wirelee telecommunications system, comprising: a software services component including software organized in at least one functional software unit and in a plurality of software layers arranged in order from software layers providing higher level services to software layers providing lower level services, and at least one software module in each software layer; and means for providing access to information and services provided by the smart card.
 2. The smart card according to claim 1, and further including a Software Back Plane for permitting communication among software modules in said plurality of software layers pursuant to a set of defined dependency rules.
 3. The smart card according to claim 2, wherein said set of defined dependency rules includes a rule that a software module in a software layer may only invoke functionality in an interface in its own Software Back Plane or in Software Back Planes of software layers below its own Software Back Plane, and a rule that a software module may never invoke functionality in an interface in a Software Back Plane of a software layer above its own software layer.
 4. The smart card according to claim 1, wherein said at least one functional software unit comprises at least one vertical functional software stack.
 5. The smart card according to claim 4, wherein said at least one vertical functional software stack includes a security services software stack and a basic services software stack.
 6. The smart card according to claim 1, and further including at least one payment server application, and a middleware services layer for providing an interface between the at least one payment server application and said software services component.
 7. The smart card according to claim 6, wherein said at least one payment server application comprises a plurality of payment server applications.
 8. The smart card according to claim 7, wherein said plurality of payment server applications includes an electronic payment plug-in server application, an electronic payment Java server application, and an electronic payment native server application.
 9. The smart card according to claim 1, wherein said smart card is adapted to be removably mounted in said mobile terminal.
 10. The smart card according to claim 1, wherein said smart card is built-in to said mobile terminal.
 11. A smart card and security function system for a mobile terminal for a wireless telecommunications system, comprising: a smart card including a software services component including software organized in at least one functional software unit and in a plurality of software layers arranged in order from software layers providing higher level services to software layers providing lower level services, and at least one software module in each software layer; security function software in said mobile terminal; and access means by which the mobile terminal can access information and services provided by the smart card to provide a desired security function.
 12. The smart card and security function system according to claim 11, wherein said smart card further includes a Software Back Plane for permitting communication among software modules in said plurality of software layers pursuant to a set of defined dependency rules.
 13. The smart card and security function system according to claim 12, wherein said set of defined dependency rules includes a rule that a software module in a software layer may only invoke functionality in an interface in its own Software Back Plane or in Software Back Planes of software layers below its own Software Back Plane, and a rule that a software module may never invoke functionality in an interface in a Software Back Plane of a software layer above its own software layer.
 14. The smart card and security function system according to claim 11, wherein said at least one functional software unit comprises at least one vertical functional software stack.
 15. The smart card and security function system according to claim 14, wherein said at least one vertical functional software stack includes a security services software stack and a basic services software stack.
 16. The smart card and security function system according to claim 11, wherein said smart card further includes at least one payment server application, and a middleware services layer for providing an interface between the at least one payment server application and said software services component.
 17. The smart card and security function system according to claim 16, wherein said at least one payment server application comprises a plurality of payment server applications.
 18. The smart card and security function system according to claim 17, wherein said plurality of payment server applications includes an electronic payment plug-in server application, an electronic payment Java server application, and an electronic payment native server application.
 19. The smart card and security function system according to claim 11, wherein said smart card is adapted to be removably mounted in said mobile terminal.
 20. The smart card and security function system according to claim 11, wherein said smart card is built-in to said mobile terminal.
 21. A method for providing a security function for a mobile terminal for a wireless telecommunications system, comprising: providing a smart card that has security function software, said security function software including software organized in at least one functional software unit and in a plurality of software layers arranged in order from software layers providing higher level services to software layers providing lower level services, and at least one software module in each software layer; providing a mobile terminal that has security function software; and said mobile terminal accessing and using information and services provided by the smart card to provide a desired security function.
 22. The method according to claim 21, further including removably mounting said smart card in said mobile terminal.
 23. The method according to claim 21, further including building said smart card into said mobile terminal. 